/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ManagedBeans;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;

/**
 *
 * @author Esmeralda
 */
@ManagedBean
@SessionScoped
public class ManagedBeanReportes implements Serializable{
    //parametros para ventas
    private int aniov1;//Parametro del 1er reporte
    private int aniov2;//Parametro del 1er reporte
    private int aniov3;//Parametro del 2do reporte
    private Date fechavini;//Parametro del 3er reporte
    private Date fechavfin;//Parametro del 3er reporte
    
    public ManagedBeanReportes() {
        fechavini = new Date();
        fechavfin = new Date();        
    }

    public int getAniov1() {
        return aniov1;
    }

    public void setAniov1(int aniov1) {
        this.aniov1 = aniov1;
    }

    public int getAniov2() {
        return aniov2;
    }

    public void setAniov2(int aniov2) {
        this.aniov2 = aniov2;
    }

    public int getAniov3() {
        return aniov3;
    }

    public void setAniov3(int aniov3) {
        this.aniov3 = aniov3;
    }

    public Date getFechavini() {
        return fechavini;
    }

    public void setFechavini(Date fechavini) {
        this.fechavini = fechavini;
    }

    public Date getFechavfin() {
        return fechavfin;
    }

    public void setFechavfin(Date fechavfin) {
        this.fechavfin = fechavfin;
    }
    
    public String formatearFecha(Date fecha) {
        String fechaformateada = "";
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        fechaformateada = (df.format(fecha));
        return fechaformateada;
    }
    
    public void mostrarReporte1() {
        RequestContext context = RequestContext.getCurrentInstance();
        if (aniov1 > aniov2) {
            FacesMessage msg = new FacesMessage("Informacion", "El Año Inicial debe ser menor que el Año Final");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            context.addCallbackParam("mostrar", 0);
           
            
        }  else if (aniov1==0 || aniov2==0) {
            FacesMessage msg = new FacesMessage("Informacion", "Ingrese El año Inicial y el Año Final");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            context.addCallbackParam("mostrar", 0);
            
        }else {            
            context.addCallbackParam("aniov1", aniov1);
            context.addCallbackParam("aniov2", aniov2);
            context.addCallbackParam("mostrar", 1);
        }
    }

    public void mostrarReporte2() {
        RequestContext context = RequestContext.getCurrentInstance();
        if (aniov3==0) {
            FacesMessage msg = new FacesMessage("Informacion", "Ingrese el año");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            context.addCallbackParam("mostrar", 0);
            
        }else {            
            context.addCallbackParam("aniov3", aniov3);
            context.addCallbackParam("mostrar", 1); 
        }
    }

    public void mostrarReporte3() {
        RequestContext context = RequestContext.getCurrentInstance();
        if (fechavini.after(fechavfin)) {
            FacesMessage msg = new FacesMessage("Informacion", "La Fecha Inicial debe ser menor que la Fecha Final");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            context.addCallbackParam("mostrar", 0);
        } else {
            context.addCallbackParam("fechav1", formatearFecha(fechavini));
            context.addCallbackParam("fechav2", formatearFecha(fechavfin));
            context.addCallbackParam("mostrar", 1);
        }
    }
    
}
